Selection of hierarchically organized items

ABSTRACT

Disclosed herein are user interfaces and related systems and methods for selecting hierarchically arranged items in order to facilitate subsequent operations on an accumulation of such data selected from throughout a hierarchy. More specifically, a columnized user interface is disclosed that includes a final column containing an accumulation of items selected from various locations within the hierarchy. A user may interactively navigate throughout the hierarchy in one or more other columns, while selectively adding specific items from any such hierarchical locations in the final column for subsequent processing. Other tools may support grouping into favorites, recall of previous selections, or other operations to facilitate rapid creation and recreation of item groups for processing.

BACKGROUND

While a variety of user interfaces exist for navigating file structures,relational databases, and other hierarchically arranged computer items,there remains a need for interface tools to permit accumulation oraggregation of items from throughout such hierarchies for globalprocessing.

SUMMARY

Disclosed herein are user interfaces and related systems and methods forselecting hierarchically arranged items in order to facilitatesubsequent operations on an accumulation of such data selected fromthroughout a hierarchy. More specifically, a columnized user interfaceis disclosed that includes a final column containing an accumulation ofitems selected from various locations within the hierarchy. A user mayinteractively navigate throughout the hierarchy in one or more othercolumns, while selectively adding specific items from any suchhierarchical locations in the final column for subsequent processing.Other tools may support grouping into favorites, recall of previousselections, or other operations to facilitate rapid creation andrecreation of item groups for processing.

BRIEF DESCRIPTION OF THE FIGURES

The invention and the following detailed description of certainembodiments thereof may be understood by reference to the followingfigures:

FIG. 1 shows entities participating in an item selection system.

FIG. 2 shows a user interface for item selection.

FIG. 3 shows a user interface for item selection.

FIG. 4 shows a user interface for item selection.

FIG. 5 shows a user interface for item selection.

DETAILED DESCRIPTION

All documents mentioned herein are hereby incorporated in their entiretyby reference. References to items in the singular should be understoodto include items in the plural, and vice versa, unless explicitly statedotherwise or clear from the text. Grammatical conjunctions are intendedto express any and all disjunctive and conjunctive combinations ofconjoined clauses, sentences, words, and the like, unless otherwisestated or clear from the context. Thus the term “or” should generally beunderstood to mean “and/or” and so forth.

The following description emphasizes selection of products in a producthierarchy, such as product hierarchies used to provide analytics forconsumer packaged goods. While this is a useful example of a dataenvironment having a large number of hierarchically arranged items,within which a variety of useful analytics might be provided onuser-specific selections of products, it will be understood that themethods and systems described herein have wider applicability, and mightbe usefully applied in any context where a large number of items orcategories are arranged into a hierarchy such as supply chain orinventory management. More generally the methods and systems disclosedherein may be usefully employed in any context where items are searchedfor and selected across large hierarchies of available items.

It will also be noted that many terminologies are used in the art todescribe hierarchies of information. For convenience, two terms aredescribed here. A ‘level’ of a hierarchy is a location within ahierarchical structure that may have a parent level above the level andone or more child levels below the level within the hierarchy. Thus forexample, at a particular level within a hierarchy, there may be zero ormore levels that are lower levels within the hierarchy. In the userinterfaces described below, a level may be navigated to, and as a levelwithin the hierarchy, may contain one or more child levels in a lowerlevel of the hierarchy, and/or one or more items. The term ‘item’ isused herein in the sense of a leaf node of a tree. That is, the item isa terminal data item or object positioned within a level of thehierarchy. The item may be data, metadata, a link, an object, or anyother computerized object, structure, or representation. In general, theitem selector contemplated herein assists a user in selecting items thatmight be found within various levels of a hierarchy. The term ‘member’is also provided as a term that refers to levels and/or items. Thus alevel may include members that are either items or child levels or both.The terms ‘level,’ ‘item’ and ‘member’ are intended to be general innature, and should be broadly construed unless a more specific meaningis explicitly provided or otherwise clear from the context.

FIG. 1 shows entities participating in an item selection system. Thesystem 100 may include a data network 102 such as the Internet thatinterconnects any number of clients 104, data sources 106, and a server108 (which may include a database 110). In general, the server 108 maysecure data from the various data sources 106 and provide a userinterface to clients 104 for selecting items within hierarchical datastored in the data sources 106.

The data network 102 may include any network or combination of networkssuitable for interconnecting other entities as contemplated herein. Thismay, for example, include the Public Switched Telephone Network, globaldata networks such as the Internet and World Wide Web, cellular networksthat support data communications (such as 3G, 4G and LTE networks),local area networks, corporate or metropolitan area networks, wide areawireless networks and so forth, as well as any combination of theforegoing and any other networks suitable for data communicationsbetween the clients 104, data sources 106 and the server 108.

The clients 104 may include any device(s) operable by end users tointeract with the server 108 through the data network 102. This may, forexample, include a desktop computer, a laptop computer, a tablet, acellular phone, a smart phone, and any other device or combination ofdevices similarly offering a processor and communications interfacecollectively operable as a client device within the data network 102. Ingeneral, a client 104 may interact with the server 108 and locallyrender a user interface such as a web page or the like supportinginteraction by the end user with the data sources 106 services providedby the server 108.

The data sources 106 may include any sources of data for which a usermight select items in a hierarchy. Data sources 106 may, for example,include a number of hierarchies relate to consumer packaged goods, suchas a product hierarchy, a geography hierarchy, a time hierarchy, and afact hierarchy. The fact hierarchy may contain any suitable measures orfacts used in analytics. For example, the fact hierarchy may containsales facts (e.g., sales data) or any other information. It will beappreciated that in general such hierarchies may be stored in the datasources 106 remote from the server 108, or stored in a database 110local to the server 108, or some combination of these, all of which aregenerally referred to herein as a database. In general, the physical andlogical arrangement of such a database may be in any form, with theserver 108 providing a seamless interface relieving a user at a client104 of such internal structural complexities.

The server 108 may include any number of physical or logical machinesaccording a desired level of service or any other design parameters. Ingeneral, the server 108 may be configured to provide a user interface tofacilitate navigation around a hierarchy of items and the accumulationof items from throughout the hierarchy, all as described below. Onceaccumulated, a selected list of items may be processed in any suitablemanner using a collection of companion reporting functions. In oneaspect, the server 108 may include a number of separate functionalcomponents (which may be similarly logically or physically separated, orembodied in a single machine) such as one server coupled to the datasources 106 for managing communications therewith, such as through anapplication or database programming interface, and a second server thatprovides a user interface to clients 104 based upon data in the datasources 106. In one aspect, the server 108 may be configured to extractmetadata for the number of hierarchies, either at the data sources 106or the local database 110, and to control a configuration of the userinterface described below according to the metadata.

FIG. 2 shows a user interface for item selection. The interface 200 maybe embodied in web page transmitted from a server to a client or anyother suitable interface technology. A variety of web technologies areknown in the art for supporting interactive interfaces such as thosedescribed below, and are omitted here for simplicity. Similarly, thepresentation aspects of the interface 200 may be provided as anapplication or other software executing on a client device, withunderlying data and functionality supported by a remote server coupledthrough a programming interface or the like to the locally executingsoftware. Again, these implementation details are neither necessary norhelpful to an understanding of the user interfaces disclosed herein. Ingeneral, the interface 200 may include a first column 202, a secondcolumn 204, a third column 206, and a row 208 above the columns.

The first column 202 may be configured to interactively select a levelof a hierarchy. In general the first column 202 may depict each of theavailable levels within the hierarchy organized as listings in tabularform within the first column 202. Each one of the group of controls maybe responsive to a first user interaction by populating the secondcolumn with one or more members of a corresponding one of the number oflevels in the hierarchy. Thus by clicking on or otherwise interactingwith one of the available levels, a user may select that level withinthe hierarchy to populate the second column 204. Visual and navigationalfeedback may be provided by highlighting the selected level in the firstcolumn 202, and by updating information displayed in the second column204. In this manner, a user may interact with listings in the firstcolumn 202 to provide a selected level including one or more members(i.e., items and/or sublevels) for display in the second column 204.

In general, the first column 202 may usefully be configured to alwaysdisplay navigational information for the entire hierarchy including,e.g., a listing of all available levels within the hierarchy, along witha current location or level displayed in the second column 204. Thesecond column 204 may be configured differently to show information fora current level, which is updated as a user navigates from level tolevel within the hierarchy, as described below in greater detail.

The second column 204 may be positioned to the right of the first columnto provide an intuitive orientation as a sub-level within the hierarchy.The second column 204 may be configured to responsively display levels(that is sublevels) of the selected level chosen in the first column202. The second column 204 may be further configured to interactivelyselect one of the one or more levels of the selected level, and when theselected level includes a number of items, to interactively select oneor more of the items, thereby providing at least one selected item. Thusthe second column 204 may display a terminal level of the hierarchy thatcontains only items, or the second column 204 may display anintermediate level of the hierarchy which contains sublevels, andpotentially one or more items present at the selected level.

The third column 206 may be positioned to the right of the second column204, and may be configured to interactively display the at least oneselected item from the second column 204. The third column 206 may befurther provide a user control to remove the at least one selected itemfrom the third column. In this manner a user may add selections to thethird column 206 (e.g., by selecting them from the second column 204)and remove selections from the third column 206 (e.g., by de-selectingthem from the third column 206). In general, the third column 206 mayretain selected items added from the second column over a number of userinteractions so that a user may navigate within the hierarchy andaccumulate selected items from throughout the hierarchy in the thirdcolumn 206.

The row 208 may extend above the first column 202, the second column204, and/or the third column 206, and may include a number of controlsto select a hierarchy from a number of available hierarchies to populatethe user interface, or more specifically as an initial matter, topopulate the first column 202 of the interface 200 with levels of theselected hierarchy. FIG. 2 depicts a degenerate case where the selectedhierarchy (“geography”) contains a single level. As such, the secondcolumn 204 may be automatically populated with items from that singlelevel, and a user may select one or more of the listed geographies foraddition to the selected list in the third column 206.

FIG. 3 shows a user interface for item selection. In the user interface300, one of the controls 301 in the row 302 (“product”) has beenselected. In response, the user interface 300 has populated the firstcolumn 304 with a selected, corresponding hierarchy. As mentioned above,the user interface 300 may initially select a top level of the selectedhierarchy for display (with child levels populating the second column).

The first column 304 may include a vertically arranged group of controls305, each one of the group of controls 305 corresponding to one of anumber of levels of one of the hierarchies selected from the row 302. Aselected one of the vertically arranged group of controls in the firstcolumn (e.g., the one presently displayed in the second column) mayoptionally include a visual indicator such as highlighting, a colorchange, or the like to indicate that the corresponding one of the numberof levels is currently displayed in the second column. For example, thecurrent level (initially the top level) may be highlighted with adifferent color or a navigational icon 306 to show the current locationwithin the hierarchy, as depicted in FIG. 3.

The user interface 300 may also include a control that provides anadditional hierarchy selection tool 306 within the first column 304 orsome other suitable location within the user interface 300. Such a toolmay be useful, for example, where a data set (such as “products”) isrepresented in a number of different, alternative hierarchies. Forexamples, a data set of items may be classified differently by differentusers, or data may be periodically reclassified over time, resulting indifferent hierarchical representations of the same data. In suchcircumstances, a drop down list or the like may be included as thehierarchy selection tool 306 to permit a user of the user interface 300to interactively select a desired one of the various possiblehierarchies. This control may be used for selecting from among aplurality of hierarchies responsive to one of the number of controls inthe row 302, and may be responsive to a user interaction by permitting aselection of one of a number of alternative hierarchies as the hierarchyused to populate the first column 304 (and the remaining columns througha series of subsequent user interactions).

FIG. 4 shows a user interface for item selection. The interface 400 mayinclude a number of additional features.

For example, a control 402 (or some or all of the controls) in the firstcolumn 404 may be responsive to a mouse over event or the like bydisplaying a drop down control 405 with a selectable list of childlevels, that is, one or more members of a lower one of the number oflevels in the selected hierarchy. By selecting one of the members of theselectable list, a user may populate the second column with any memberscontained within the selected level of the hierarchy. With this control,a user can skip the manual step of populating the second column 406 andseparately making a selection from within the second column 406. It willalso be noted that the user may operate such a drop down control 405 forany level within the hierarchy in order to facilitate convenientnavigation throughout the hierarchy from the first column 404.

As another example, the interface 400 may include a favorites control408 or the like for returning to a predetermined state of the firstcolumn 404 and the second column 406. The favorites control 408 maypermit convenient navigation to commonly used locations or items withoutmaking any modifications to the selected items (if any) in the thirdcolumn 410.

The interface 400 may also include a control 412 to run a report basedon the selections contained in the third column 410. It will begenerally appreciated that the purpose of selecting items is not theselection per se, but instead to enable analytics on the selected itemsthat have been obtained from a larger data set. A wide range of reportsare known in the art, and may include charts, spreadsheets,aggregations, timelines, statistics, and so forth. Any such report thatmight usefully be run on a data set may be provided by a server or thelike, and may be accessed for the selected items using the control 412to run a report. The control 412 may permit selection of a number ofpremade reports, or the control 412 may navigate a user to a reportcreation interface in which a user can customize report types anddesired outputs.

Once the control 412 has been used to run a report, additional reportactions may be supported by a report action control 413, which may forexample support export, printing, or any other operations that mightusefully be performed on a report.

The interface 400 may include a control 414 to populate the third column410 with a number of predetermined selections. While the favoritescontrol 408 permits navigation to a predetermined location within ahierarchy, the control to populate the third column 410 preselects agroup of items, which may for example be a subset of items at a singlelocation within the hierarchy or a number of items from multiplelocations within the hierarchy, and populates the third column 410 withthose items. In this manner, a user may pre-aggregate items of fromthroughout the hierarchy for single-click recovery and use in reportcreation. This does not prevent a user from adding to or subtractingfrom the preselected group, and a user may modify the preselected groupin any manner using the other techniques described herein beforecreating a report. Instead, the control 414 provides a shortcut foraccessing a group of items of recurring interest. Any number of suchgroups may be created and recovered using the control 414.

FIG. 5 shows a user interface for item selection. In the depicted userinterface 500, a bottom level of the hierarchy is selected in the firstcolumn 502. The second column 504 shows an item 506 that is not a childlevel in the hierarchy. After a user selection of the item 506 in thesecond column, the item 506 is added to the third column 508 (positionedto the right of the second column 504) as depicted. In embodiments, anyavailable items (not child levels) in the second column 504 may beautomatically placed in the third column 508, and such items in thethird column 508 may be default be selected or deselected, e.g., using acheck box 510 or the like. As illustrated, the item 506 is selected, asindicated by the checkbox 510 containing a check. While only a singleitem is depicted, it will be understood that any number of items may beincluded according to the number of items in the current level of thesecond column 504. A user may select and deselect items according todesired inclusion in data for reporting, and the third column 508 mayfurther include a “select all” control 512 or the like to permit globaloperations on the contents of the third column 508.

Using an interface configured as described above, a user may navigatethrough a hierarchy and accumulate items of interest within thehierarchy. Each item or child level in the second column 504 may beconfigured as a control, with these “controls” in a vertically arrangedgroup ordered alphabetically, numerically or in any other mannerparticular to the hierarchy. Thus each control in the second column 504may correspond to one or more members 514 (also referred to as thecontrol 514, with the visual component that represents the member 514(e.g., text) also forming an active area for the control 514 associatedwith the member 514) of the level selected in the first column 502. Eachsuch control 514 may be responsive to user interactions in a number ofways. When one of the members 514 includes a lower level of a number oflevels in the hierarchy beneath a current level displayed in the secondcolumn 504 (e.g., child levels), the control 514 may respond to a userinteraction by populating the second column with a vertically arrangedgroup of one or more members of the lower level in place of the presentlevel. In this manner, a user can interactively drill down into levelsof the hierarchy by interactions with controls 514 (or members 514) inthe second column 504. When the one or more members 514 include an item506, the control 514 may respond to a user interaction by populating thethird column 508 with the item 506. In this manner, a selected item maybe placed in the third column 508.

It will be noted that under certain circumstances, hierarchies will onlyhave items at a lowest level of the hierarchy. However this is notrequired, and items may be located at various levels within a hierarchy.Furthermore, the hierarchy may have different depths in differentbranches. That is one child level may have no sub-levels, while anotherchild level may have several sub-levels. In one aspect, this may beimplemented by placing a number of empty levels between a top and abottom level so that selected items are always within a bottom level ofthe hierarchy, although such an arrangement is not required for theinterfaces described herein.

In general, the third column 508 may be configured to retain itemsselected from the second column 504 over a series of user interactions.More specifically, as a user navigates from level to level within thehierarchy, the user may accumulate items of interest in the third column508. Once a desired number of items are accumulated in the third column508 (which may be a single item or any number of items), the user mayinitiate reporting functions for the selected item(s). The number ofselected items accumulated in the third column 508 may be verticallyarranged in the third column 508 as selections, and each one of theselections may include a control to remove the one of the selectionsfrom the third column, such as the checkbox 510 depicted in FIG. 5.

The user interfaces and methods or processes for providing same asdescribed above, and steps thereof, may be realized in hardware,software, or any combination of these suitable for a particularapplication. The hardware may include a general-purpose computer and/ordedicated computing device. The processes may be realized in one or moremicroprocessors, microcontrollers, embedded microcontrollers,programmable digital signal processors, or other programmable device,along with internal and/or external memory. The processes may also, orinstead, be embodied in an application specific integrated circuit, aprogrammable gate array, programmable array logic, or any other deviceor combination of devices that may be configured to process electronicsignals. It will further be appreciated that one or more of theprocesses may be realized as computer executable code created using astructured programming language such as C, an object orientedprogramming language such as C++, or any other high-level or low-levelprogramming language (including assembly languages, hardware descriptionlanguages, and database programming languages and technologies) that maybe stored, compiled or interpreted to run on one of the above devices,as well as heterogeneous combinations of processors, processorarchitectures, or combinations of different hardware and software.

Thus, in one aspect, each method described above and combinationsthereof may be embodied in computer executable code that, when executingon one or more computing devices, performs the steps thereof. In anotheraspect, the methods may be embodied in systems that perform the stepsthereof, and may be distributed across devices in a number of ways, orall of the functionality may be integrated into a dedicated, standalonedevice or other hardware. In another aspect, means for performing thesteps associated with the processes described above may include any ofthe hardware and/or software described above. All such permutations andcombinations are intended to fall within the scope of the presentdisclosure.

It should further be appreciated that the methods above are provided byway of example. Absent an explicit indication to the contrary, thedisclosed steps may be modified, supplemented, omitted, and/orre-ordered without departing from the scope of this disclosure.

The method steps of the invention(s) described herein are intended toinclude any suitable method of causing such method steps to beperformed, consistent with the patentability of the following claims,unless a different meaning is expressly provided or otherwise clear fromthe context. So for example performing the step of X includes anysuitable method for causing another party such as a remote user, aremote processing resource (e.g., a server or cloud computer) or amachine to perform the step of X. Similarly, performing steps X, Y and Zmay include any method of directing or controlling any combination ofsuch other individuals or resources to perform steps X, Y and Z toobtain the benefit of such steps.

While particular embodiments of the present invention have been shownand described, it will be apparent to those skilled in the art thatvarious changes and modifications in form and details may be madetherein without departing from the spirit and scope of this disclosureand are intended to form a part of the invention as defined by thefollowing claims, which are to be interpreted in the broadest senseallowable by law.

What is claimed is:
 1. A computing device for selecting hierarchicallyarranged items, the computing device including a display, a processor,and a memory storing instructions that, when executing on the processorprovide a user interface consisting of three item selection columns forrespectively navigating to a level within a hierarchy, selecting itemswithin the level, and accumulating items selected using the first twocolumns, the user interface comprising: a first column of the three itemselection columns, the first column displaying available levels withinthe hierarchy in tabular form, and the first column configured tointeractively receive a user selection of a level of the hierarchy,thereby providing a selected level including one or more members, andthe first column configured to display navigational information for thehierarchy including a listing of available levels within the hierarchyincluding the selected level, without displaying items within any of theavailable levels; a second column of the item selection columnspositioned right of the first column and configured to interactivelyreceive the user selection of the selected level and to responsivelydisplay the selected level, and when the selected level includes anumber of items, to display the number of items and interactivelyreceive a user selection of one or more of the items, thereby providingat least one selected item; a third column of the item selection columnspositioned right of the second column configured to interactivelydisplay the at least one selected item and providing a user control toremove the at least one selected item from the third column, wherein thethird column retains selected items added from the second column over anumber of user interactions; and a row extending above one or more ofthe first, second, and third columns, the row including a number ofcontrols to select a hierarchy to populate the first column.
 2. Thecomputing device of claim 1 wherein the user interface further comprisesa control within the first column for selecting from among a pluralityof hierarchies responsive to one of the number of controls in the row.3. A system comprising: a database storing items organized into a numberof hierarchies, each one of the hierarchies having a number of levels;and a server configured to provide a user interface including a rowhorizontally extending above a number of columns, wherein the userinterface consists of three columns for selection of items within aselected hierarchy including a first column for navigation to a level, asecond column for selection of items within the level, and a thirdcolumn for displaying items selected from a number of levels, whereinthe row includes one or more controls to select a hierarchy from anumber of hierarchies to populate the user interface; a first column ofthe three columns displaying available levels within the hierarchy intabular form and including a vertically arranged group of controls, eachone of the group of controls corresponding to one of the number oflevels of one of the hierarchies selected from the row, the first columnconfigured to display navigational information for the one of thehierarchies including a listing of available levels within the hierarchyincluding a selected level within the one of the hierarchies, withoutdisplaying items within any of the available levels; and a second columnof the three columns positioned right of the first column and includinga vertically arranged group of one or more controls, each of the one ormore controls corresponding to one of a number of members of theselected level from the first one of the three columns, and each one ofthe one or more controls responsive to a second user interaction by:when the number of members includes a lower level of the number oflevels in the selected hierarchy beneath a current level displayed inthe second column, populating the second column with a verticallyarranged group of one or more members of the lower level in place of theone of the number of levels selected from the first one of the threecolumns, and when the number of members includes an item in the currentlevel, responding to an interaction with the item by populating a thirdcolumn of the three columns positioned right of the second column withthe item, thereby providing a selected item in the third column; whereinthe third column is configured to retain a number of items selected fromthe second column over a series of user interactions.
 4. The system ofclaim 3 further comprising a first control within the first column ofthe user interface responsive to a user interaction by permitting aselection of one of a number of alternative hierarchies as the hierarchyused to populate the first column.
 5. The system of claim 3 wherein thethird column accumulates a number of selected items vertically arrangedin the third column as selections, each one of the selections includinga control to remove the one of the selections from the third column. 6.The system of claim 5 further comprising a control to run a report basedupon the selections.
 7. The system of claim 3 further comprising acontrol to populate the third column with a number of predeterminedselections.
 8. The system of claim 3 wherein the number of hierarchiesrelate to consumer packaged goods.
 9. The system of claim 3 wherein thenumber of hierarchies include a product hierarchy, a geographyhierarchy, and a fact hierarchy.
 10. The system of claim 9 wherein thefact hierarchy includes sales facts.
 11. The system of claim 3 whereinthe server is configured to extract metadata for the number ofhierarchies from the database and to control a configuration of the userinterface according to the metadata.
 12. The system of claim 3 whereinat least one of the number of levels above the bottom level of one ofthe hierarchies includes a selectable item for selection and placementin the third column.
 13. The system of claim 3 wherein a selected one ofthe vertically arranged group of controls in the first column includes avisual indicator that the corresponding one of the number of levels iscurrently displayed in the second column.
 14. The system of claim 3wherein the user interface includes a favorites control for returning toa predetermined state of the first column and the second column withoutmodifications to any selected items in the third column.
 15. The systemof claim 3 wherein one or more of the group of controls in the firstcolumn is responsive to a mouse over event by displaying a selectablelist of one or more members of a lower one of the number of levels inthe selected hierarchy for populating the second column.
 16. A computerprogram product for providing a user interface, the computer programproduct comprising computer executable code embodied in a non-transitorycomputer readable medium that, when executing on one or more computingdevices, provides the user interface wherein the user interface includesa row horizontally extending above a number of columns for selectinghierarchically arranged items from items organized into a number ofhierarchies each having a number of levels, the number of columnsconsisting of three columns including a first column for navigation to alevel, a second column for selection of items within the level, and athird column for displaying items selected from a number of levels,further wherein: the row includes one or more controls to select ahierarchy from a number of hierarchies to populate the user interface; afirst column of the three columns displaying available levels within thehierarchy in tabular form and including a vertically arranged group ofcontrols, each one of the group of controls corresponding to one of thenumber of levels of one of the hierarchies selected from the row, thefirst column configured to display navigational information for the oneof the hierarchies including a listing of available levels within thehierarchy including a selected level within the one of the hierarchies,without displaying items within any of the available levels; and asecond column of the three columns positioned right of the first columnand including a vertically arranged group of one or more controls, eachof the one or more controls corresponding to one of a number of membersof the selected level from the first one of the three columns, and eachone of the one or more controls responsive to a second user interactionby: when the number of members includes a lower level of the number oflevels in the selected hierarchy beneath a current level displayed inthe second column, populating the second column with a verticallyarranged group of one or more members of the lower level in place of theone of the number of levels selected from the first one of the threecolumns, and when the number of members includes an item in the currentlevel, responding to an interaction with the item by populating a thirdcolumn of the three columns positioned right of the second column withthe item, thereby providing a selected item in the third column; whereinthe third column retains a number of items selected from the secondcolumn over a series of user interactions.
 17. The computer programproduct of claim 16 further comprising a second control within the userinterface for interactively selecting one of the number of hierarchies.18. The computer program product of claim 16 wherein the third columnretains a number of selected items vertically arranged in the thirdcolumn as selections, each one of the selections including a control toremove the one of the selections from the third column.
 19. The computerprogram product of claim 18 wherein the user interface further includesa control to run a report based upon the selections.
 20. The computerprogram product of claim 16 wherein the user interface further includesa control to populate the third column with a number of predeterminedselections.